<?php

namespace view;

require_once ('src/View/CreateDate.php');
 
class LoginView {
// för att undvika strängberoenden så skapar jag privata medlemsvariabler
    private static $m_formUsername = "username";
    private static $m_formPassword = "password";
    private static $m_formStayLogedIn = "stayLogedIn";
    private static $m_logoutURL = "logout";
	
	
	/**
	 * @return string /view/ApplicationView
	 */
	// gör dem privata medlemsvariablerna åtkomliga
	public function returnFormUsername(){
	return self::$m_formUsername;
	}
	
	
	/**
	 * @return string /view/ApplicationView
	 */
	public function returnFormPassword(){
	return self::$m_formPassword;
	}


	/**
	 * @return string /view/ApplicationView
	 */
	public function returnFormStayLogedIn(){
	return self::$m_formStayLogedIn;
	}

	/**
	 * @return string /view/ApplicationView
	 */
	public function returnFormLogoutURL(){
	return self::$m_logoutURL;
	}




	/**
	 * @return Boolean 
	 */
	
	/**
	 * Här kontrolleras om användaren matat in några inloggningsuppgifter
	 * returerar Bolean True om man har det, False om inga uppgifter fyllts i
	 * controllen anropar hasinput funktionen
	 */
	public function hasInput () {	
					
		/**
		 * om användaren skrivit in användar namn 
		 * då körs if satsen och returnerar true,till LoginController i detta fallet,
		 * annars false. se rad 81
		 */
		
		if (isset($_POST[self::$m_formUsername])) {
			return true;
			
		} else {	
			return false;			
		  }		
	}
	
	
	
	/**
	 * @var string $loginStatus
	 * @var string $username
	 * @var string $password
	 * @var string $stayLoggedin
	 * @var string $usedCookie
	 * @return array
	 */	
	 
	/**
	 * getInput funktion är den som tar emot namn, lösenord,
	 * och Håll mig inloggad rutan är i bockad 
	 * från användaren i formulärte
	 */ 
	
	public function getInput () {  // denna funktion körs alltid om getInput() anropas och retunerar en namlös array med 4 variabler
				
		$loginStatus = "0";	    // är en 0 och då är man inte inloggad, inte förren i modellen sätts den till en 1, om man blir inloggad och har skickat med rätt lösenord och användarnamn							
		$username = $_POST[self::$m_formUsername];  // Här hämtar vi in från användaren via formuläret Användarnam och lägger in det i $username variablen
		$password = $_POST[self::$m_formPassword];  // Här hämtar vi in från användaren via formuläret lösenord och lägger in det i $password variablen
		$stayLoggedin = "0";			// skapar en valiabel den är till för att ha koll på håll mig inloggad rutan. 0 = ej i bockad. 1= i bockad
		$usedCookie = "0";	
			
		if (isset($_POST[self::$m_formStayLogedIn])) {  // kollar om håll mig inloggad rutan är i bockad, om det är så körs if satsen. och $stayLoggedin = "1";
			$stayLoggedin = "1";			   // håll mig loggedin är i bockad och 
		} 
									
			/**
			 * man returerar de användaruppgifter som användaren knappat in, 
			 * den första positionen i arrayen sätts i modelen beroende på om 
			 * använderen blir inloggad eller ej.
			 * när funktionen getInput anropas retuneras array() och de 5 variablerna i den,
			 */		
			return array ($loginStatus, $username, $password, $stayLoggedin, $usedCookie);  // ex. 0, Admin,Password,1 
	}

	/**
	 * @return Boolean
	 */

	/**
	 * om man har klickat logga ut, och det då står logout i URl,
	 * tas session kakorna och de vanliga kakorna bort om det finns några
	 */ 
	
	public function hasLogedout (\view\CookieView $cookieView, \model\LoginModel $loginModel) {
			
		// om Url är satt till [logout] då har användaren klickat loggaut och då körs if satsen.
		// och den hämtas från den super globala GET arrayen.			
		if (isset($_GET[self::$m_logoutURL])) {  // ÄR super golabala arrayen $_GET satt med inehåll 'logout', då kör vi if satsen.
			$cookieView->resetCookies($loginModel);	//om man har loggat ut då skall kakorna resetas
				return true;
						
		} else {					
				return false;		 // om inte if satsen körs så retuneras fales
				}	
									
		}
	
	
}
